1. Field of the Invention
The present invention relates to a controller, control system and a controlling system for a disc such as floppy disc or the like, and more particularly, to a disc controller, disc control system and a disc controlling method, adapted for transfer of data held in the disc controller to and from a central processing unit.
2. Description of the Related Art
The floppy disc controller (will be referred to as xe2x80x9cFDCxe2x80x9d hereinafter) transfers data in bytes between the central processing unit (will be referred to as xe2x80x9cCPUxe2x80x9d hereinafter) and a floppy disc drive (will be referred to as xe2x80x9cFDDxe2x80x9d hereinafter) which reads and writes data from and to a floppy disc.
Normally, since the FDD reads data from, and writes data to, a disc at a transfer speed of about 60 kB/s, the CPU has to transfer data at every 16 xcexcs to and from the FDD. The FDC will supply data read from the disc to a memory via a system bus at every about 16 xcexcs. Also the FDC will receive data to be written by the FDD to the disc from the memory via the system bus at every about 16 xcexcs, and supply it to the FDD. Therefore, the system bus will be occupied at every about 16 xcexcs for data transfer between the FDC and CPU.
The above data transfer will not catch up with the disc rotation speed unless the data transfer is repeated frequently for a long time and also operations are done at a rather high speed each time a request for data transfer is received from the FDC. Further, the period for the data transfer request includes a few percent jitter incidental to the disc rotation.
Therefore, for implementation of the above data transfer, the CPU should have a considerably large processing capability including an overhead for interrupt operation. Generally, the currently available FDC has a DMA (Direct Memory Access) data transfer mechanism to prevent the CPU from being overloaded.
The time for which the system bus is occupied for data transfer between the FDC and floppy disc in the FDD system will be described with reference to FIG. 1 showing the occupied states of the system bus during data transfer.
As shown in FIGS. 1A and 1B, the track on the floppy disc is divided into a plurality of sectors. Each sector records a predetermined byte count of data. Also, address information, error correction signal, gap for protection of each data area against a variation of the floppy disc rotation are provided before and after each byte string. The FDC sends to and receives from the CPU a data being in a burst status in which the data is divided in sectors.
While the system bus is being thus occupied, the FDC reads and writes data from and to the floppy disc at a speed corresponding to the rotation speed of the floppy disc and it can read data even while the floppy disc is rotating at a nonuniform speed.
The above DMA data transfer permits to reduce the amount of data to be processed by the CPU. However, since the system bus is occupied for data transfer between the FDC and memory at every about 16 xcexcs, the load to the entire system remains still large. In addition, though the CPU can process data while the DMA data transfer mechanism is transferring other data, the system bus is occupied by the DMA, FDC, etc.
It is therefore an object of the present invention to overcome the above-mentioned drawbacks of the prior art by providing a disc controller, disc control system and a disc controlling method system, adapted to considerably reduce the load to the disc controller and system bus by effecting at an appropriate time the data transfer made between the disc controller and memory, etc. and which takes a relatively long time.
According to the present invention, there is provided a disc controller for controlling the operation of a disc drive which reads and writes data from and to a disc, comprising:
means for storing data read from the disc and supplied from the disc drive or external data supplied via a bus for write to the disc, in units of a predetermined data amount being a unit in which the data is to be read from or written to the disc; and
means for controlling the data read and write from and to the disc;
the controlling means intermittently reading the data for supply to the storing means from the disc in units of the predetermined data amount, and intermittently writing to the disc the data supplied from the storing means in units of the predetermined data amount; and
while the disc drive is not reading or writing data from or to the disc, the controlling means supplying the data read from the disc and stored in the storing means to the bus in units of the predetermined data amount, and supplying the data for write to the disc from the bus to the storing means in units of the predetermined data amount.
According to the present invention, there is also provided a disc control system for controlling a disc drive, comprising a disc controller and memory connected to each other by a bus, the disc controller controlling write of data stored in the memory to a disc and read of data from the disc for storage into the memory, the disc controller comprising:
means for storing data read from the disc and supplied from the disc drive or external data supplied via a bus and which is to be written to the disc, in units of a predetermined data amount being a unit in which the data is to be read from or written to the disc; and
means for controlling the data read and write from and to the disc;
the controlling means intermittently reading the data for supply to the storing means from the disc in units of the predetermined data amount, and intermittently writing to the disc the data supplied from the storing means in units of the predetermined data amount; and
while the disc drive is not reading or writing data from or to the disc, the controlling means supplying the data read from the disc and stored in the storing means to the bus in units of the predetermined data amount, and supplying the data for write to the disc from the bus to the storing means in units of the predetermined data amount.
According to the present invention, there is also provided a disc controlling method of controlling the operation of a disc drive which reads and writes data from and to a disc, the method comprising the steps of:
storing data read from the disc and supplied from the disc drive or external data supplied via a bus and which is to be written to the disc, in units of a predetermined data amount being a unit in which the data is to be read from or written to the disc;
intermittently reading the data for supply to the storing means from the disc in units of the predetermined data amount, or intermittently writing to the disc the data supplied from the storing means in units of the predetermined data amount; and
supplying the data read from the disc and stored in the storing means to the bus in units of the predetermined data amount, and supplying the data for write to the disc from the bus to the storing means in units of the predetermined data amount, while the disc drive is not reading or writing data from or to the disc.
As having been described in the foregoing, the disc controller, disc control system and disc controlling method according to the present invention advantageously reduce the load to the central processing unit and system bus very much by effecting data transfer between the disc controller and memory, which takes a relatively long time, by using the storing means holding the same data capacity as the data amount per sector.